/**
 * <copyright>
 * </copyright>
 *
 * $Id: JDBCDataSource.java,v 1.1 2008/11/09 03:11:51 song Exp $
 */
package cn.edu.pku.sei.ra.wrapping.JOnAS;


/**
 * <!-- begin-user-doc -->
 * A representation of the model object '<em><b>JDBC Data Source</b></em>'.
 * <!-- end-user-doc -->
 *
 * <p>
 * The following features are supported:
 * <ul>
 *   <li>{@link cn.edu.pku.sei.ra.wrapping.JOnAS.JDBCDataSource#getDescription <em>Description</em>}</li>
 *   <li>{@link cn.edu.pku.sei.ra.wrapping.JOnAS.JDBCDataSource#getJdbcMinConnPool <em>Jdbc Min Conn Pool</em>}</li>
 *   <li>{@link cn.edu.pku.sei.ra.wrapping.JOnAS.JDBCDataSource#getJdbcMaxConnPool <em>Jdbc Max Conn Pool</em>}</li>
 *   <li>{@link cn.edu.pku.sei.ra.wrapping.JOnAS.JDBCDataSource#getJdbcConnPool <em>Jdbc Conn Pool</em>}</li>
 *   <li>{@link cn.edu.pku.sei.ra.wrapping.JOnAS.JDBCDataSource#getJndiName <em>Jndi Name</em>}</li>
 *   <li>{@link cn.edu.pku.sei.ra.wrapping.JOnAS.JDBCDataSource#getBusyMax <em>Busy Max</em>}</li>
 *   <li>{@link cn.edu.pku.sei.ra.wrapping.JOnAS.JDBCDataSource#getConnectionFailures <em>Connection Failures</em>}</li>
 *   <li>{@link cn.edu.pku.sei.ra.wrapping.JOnAS.JDBCDataSource#getCurrentBusy <em>Current Busy</em>}</li>
 *   <li>{@link cn.edu.pku.sei.ra.wrapping.JOnAS.JDBCDataSource#getUserName <em>User Name</em>}</li>
 *   <li>{@link cn.edu.pku.sei.ra.wrapping.JOnAS.JDBCDataSource#getBusyMin <em>Busy Min</em>}</li>
 *   <li>{@link cn.edu.pku.sei.ra.wrapping.JOnAS.JDBCDataSource#getUserPassword <em>User Password</em>}</li>
 *   <li>{@link cn.edu.pku.sei.ra.wrapping.JOnAS.JDBCDataSource#getPassivationTimeOut <em>Passivation Time Out</em>}</li>
 *   <li>{@link cn.edu.pku.sei.ra.wrapping.JOnAS.JDBCDataSource#getUrl <em>Url</em>}</li>
 *   <li>{@link cn.edu.pku.sei.ra.wrapping.JOnAS.JDBCDataSource#getJdbcMaxWaiters <em>Jdbc Max Waiters</em>}</li>
 *   <li>{@link cn.edu.pku.sei.ra.wrapping.JOnAS.JDBCDataSource#getParent <em>Parent</em>}</li>
 * </ul>
 * </p>
 *
 * @see cn.edu.pku.sei.ra.wrapping.JOnAS.JOnASPackage#getJDBCDataSource()
 * @model
 * @generated
 */
public interface JDBCDataSource extends J2EEManagedObject {
	/**
	 * Returns the value of the '<em><b>Description</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Description</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Description</em>' attribute.
	 * @see #setDescription(String)
	 * @see cn.edu.pku.sei.ra.wrapping.JOnAS.JOnASPackage#getJDBCDataSource_Description()
	 * @model required="true"
	 * @generated
	 */
	String getDescription();

	/**
	 * Sets the value of the '{@link cn.edu.pku.sei.ra.wrapping.JOnAS.JDBCDataSource#getDescription <em>Description</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Description</em>' attribute.
	 * @see #getDescription()
	 * @generated
	 */
	void setDescription(String value);

	/**
	 * Returns the value of the '<em><b>Jdbc Min Conn Pool</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Jdbc Min Conn Pool</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Jdbc Min Conn Pool</em>' attribute.
	 * @see #setJdbcMinConnPool(int)
	 * @see cn.edu.pku.sei.ra.wrapping.JOnAS.JOnASPackage#getJDBCDataSource_JdbcMinConnPool()
	 * @model required="true"
	 * @generated
	 */
	int getJdbcMinConnPool();

	/**
	 * Sets the value of the '{@link cn.edu.pku.sei.ra.wrapping.JOnAS.JDBCDataSource#getJdbcMinConnPool <em>Jdbc Min Conn Pool</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Jdbc Min Conn Pool</em>' attribute.
	 * @see #getJdbcMinConnPool()
	 * @generated
	 */
	void setJdbcMinConnPool(int value);

	/**
	 * Returns the value of the '<em><b>Jdbc Max Conn Pool</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Jdbc Max Conn Pool</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Jdbc Max Conn Pool</em>' attribute.
	 * @see #setJdbcMaxConnPool(int)
	 * @see cn.edu.pku.sei.ra.wrapping.JOnAS.JOnASPackage#getJDBCDataSource_JdbcMaxConnPool()
	 * @model required="true"
	 * @generated
	 */
	int getJdbcMaxConnPool();

	/**
	 * Sets the value of the '{@link cn.edu.pku.sei.ra.wrapping.JOnAS.JDBCDataSource#getJdbcMaxConnPool <em>Jdbc Max Conn Pool</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Jdbc Max Conn Pool</em>' attribute.
	 * @see #getJdbcMaxConnPool()
	 * @generated
	 */
	void setJdbcMaxConnPool(int value);

	/**
	 * Returns the value of the '<em><b>Jdbc Conn Pool</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Jdbc Conn Pool</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Jdbc Conn Pool</em>' attribute.
	 * @see #setJdbcConnPool(int)
	 * @see cn.edu.pku.sei.ra.wrapping.JOnAS.JOnASPackage#getJDBCDataSource_JdbcConnPool()
	 * @model required="true"
	 * @generated
	 */
	int getJdbcConnPool();

	/**
	 * Sets the value of the '{@link cn.edu.pku.sei.ra.wrapping.JOnAS.JDBCDataSource#getJdbcConnPool <em>Jdbc Conn Pool</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Jdbc Conn Pool</em>' attribute.
	 * @see #getJdbcConnPool()
	 * @generated
	 */
	void setJdbcConnPool(int value);

	/**
	 * Returns the value of the '<em><b>Jndi Name</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Jndi Name</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Jndi Name</em>' attribute.
	 * @see #setJndiName(String)
	 * @see cn.edu.pku.sei.ra.wrapping.JOnAS.JOnASPackage#getJDBCDataSource_JndiName()
	 * @model required="true"
	 * @generated
	 */
	String getJndiName();

	/**
	 * Sets the value of the '{@link cn.edu.pku.sei.ra.wrapping.JOnAS.JDBCDataSource#getJndiName <em>Jndi Name</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Jndi Name</em>' attribute.
	 * @see #getJndiName()
	 * @generated
	 */
	void setJndiName(String value);

	/**
	 * Returns the value of the '<em><b>Busy Max</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Busy Max</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Busy Max</em>' attribute.
	 * @see #setBusyMax(int)
	 * @see cn.edu.pku.sei.ra.wrapping.JOnAS.JOnASPackage#getJDBCDataSource_BusyMax()
	 * @model required="true"
	 * @generated
	 */
	int getBusyMax();

	/**
	 * Sets the value of the '{@link cn.edu.pku.sei.ra.wrapping.JOnAS.JDBCDataSource#getBusyMax <em>Busy Max</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Busy Max</em>' attribute.
	 * @see #getBusyMax()
	 * @generated
	 */
	void setBusyMax(int value);

	/**
	 * Returns the value of the '<em><b>Connection Failures</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Connection Failures</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Connection Failures</em>' attribute.
	 * @see #setConnectionFailures(int)
	 * @see cn.edu.pku.sei.ra.wrapping.JOnAS.JOnASPackage#getJDBCDataSource_ConnectionFailures()
	 * @model required="true"
	 * @generated
	 */
	int getConnectionFailures();

	/**
	 * Sets the value of the '{@link cn.edu.pku.sei.ra.wrapping.JOnAS.JDBCDataSource#getConnectionFailures <em>Connection Failures</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Connection Failures</em>' attribute.
	 * @see #getConnectionFailures()
	 * @generated
	 */
	void setConnectionFailures(int value);

	/**
	 * Returns the value of the '<em><b>Current Busy</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Current Busy</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Current Busy</em>' attribute.
	 * @see #setCurrentBusy(int)
	 * @see cn.edu.pku.sei.ra.wrapping.JOnAS.JOnASPackage#getJDBCDataSource_CurrentBusy()
	 * @model required="true"
	 * @generated
	 */
	int getCurrentBusy();

	/**
	 * Sets the value of the '{@link cn.edu.pku.sei.ra.wrapping.JOnAS.JDBCDataSource#getCurrentBusy <em>Current Busy</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Current Busy</em>' attribute.
	 * @see #getCurrentBusy()
	 * @generated
	 */
	void setCurrentBusy(int value);

	/**
	 * Returns the value of the '<em><b>User Name</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>User Name</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>User Name</em>' attribute.
	 * @see #setUserName(String)
	 * @see cn.edu.pku.sei.ra.wrapping.JOnAS.JOnASPackage#getJDBCDataSource_UserName()
	 * @model required="true"
	 * @generated
	 */
	String getUserName();

	/**
	 * Sets the value of the '{@link cn.edu.pku.sei.ra.wrapping.JOnAS.JDBCDataSource#getUserName <em>User Name</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>User Name</em>' attribute.
	 * @see #getUserName()
	 * @generated
	 */
	void setUserName(String value);

	/**
	 * Returns the value of the '<em><b>Busy Min</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Busy Min</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Busy Min</em>' attribute.
	 * @see #setBusyMin(int)
	 * @see cn.edu.pku.sei.ra.wrapping.JOnAS.JOnASPackage#getJDBCDataSource_BusyMin()
	 * @model required="true"
	 * @generated
	 */
	int getBusyMin();

	/**
	 * Sets the value of the '{@link cn.edu.pku.sei.ra.wrapping.JOnAS.JDBCDataSource#getBusyMin <em>Busy Min</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Busy Min</em>' attribute.
	 * @see #getBusyMin()
	 * @generated
	 */
	void setBusyMin(int value);

	/**
	 * Returns the value of the '<em><b>User Password</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>User Password</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>User Password</em>' attribute.
	 * @see #setUserPassword(String)
	 * @see cn.edu.pku.sei.ra.wrapping.JOnAS.JOnASPackage#getJDBCDataSource_UserPassword()
	 * @model required="true"
	 * @generated
	 */
	String getUserPassword();

	/**
	 * Sets the value of the '{@link cn.edu.pku.sei.ra.wrapping.JOnAS.JDBCDataSource#getUserPassword <em>User Password</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>User Password</em>' attribute.
	 * @see #getUserPassword()
	 * @generated
	 */
	void setUserPassword(String value);

	/**
	 * Returns the value of the '<em><b>Passivation Time Out</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Passivation Time Out</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Passivation Time Out</em>' attribute.
	 * @see #setPassivationTimeOut(int)
	 * @see cn.edu.pku.sei.ra.wrapping.JOnAS.JOnASPackage#getJDBCDataSource_PassivationTimeOut()
	 * @model required="true"
	 * @generated
	 */
	int getPassivationTimeOut();

	/**
	 * Sets the value of the '{@link cn.edu.pku.sei.ra.wrapping.JOnAS.JDBCDataSource#getPassivationTimeOut <em>Passivation Time Out</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Passivation Time Out</em>' attribute.
	 * @see #getPassivationTimeOut()
	 * @generated
	 */
	void setPassivationTimeOut(int value);

	/**
	 * Returns the value of the '<em><b>Url</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Url</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Url</em>' attribute.
	 * @see #setUrl(String)
	 * @see cn.edu.pku.sei.ra.wrapping.JOnAS.JOnASPackage#getJDBCDataSource_Url()
	 * @model required="true"
	 * @generated
	 */
	String getUrl();

	/**
	 * Sets the value of the '{@link cn.edu.pku.sei.ra.wrapping.JOnAS.JDBCDataSource#getUrl <em>Url</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Url</em>' attribute.
	 * @see #getUrl()
	 * @generated
	 */
	void setUrl(String value);

	/**
	 * Returns the value of the '<em><b>Jdbc Max Waiters</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Jdbc Max Waiters</em>' attribute isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Jdbc Max Waiters</em>' attribute.
	 * @see #setJdbcMaxWaiters(int)
	 * @see cn.edu.pku.sei.ra.wrapping.JOnAS.JOnASPackage#getJDBCDataSource_JdbcMaxWaiters()
	 * @model required="true"
	 * @generated
	 */
	int getJdbcMaxWaiters();

	/**
	 * Sets the value of the '{@link cn.edu.pku.sei.ra.wrapping.JOnAS.JDBCDataSource#getJdbcMaxWaiters <em>Jdbc Max Waiters</em>}' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Jdbc Max Waiters</em>' attribute.
	 * @see #getJdbcMaxWaiters()
	 * @generated
	 */
	void setJdbcMaxWaiters(int value);

	/**
	 * Returns the value of the '<em><b>Parent</b></em>' container reference.
	 * It is bidirectional and its opposite is '{@link cn.edu.pku.sei.ra.wrapping.JOnAS.MBeanServer#getJdbcDataSource <em>Jdbc Data Source</em>}'.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of the '<em>Parent</em>' container reference isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @return the value of the '<em>Parent</em>' container reference.
	 * @see #setParent(MBeanServer)
	 * @see cn.edu.pku.sei.ra.wrapping.JOnAS.JOnASPackage#getJDBCDataSource_Parent()
	 * @see cn.edu.pku.sei.ra.wrapping.JOnAS.MBeanServer#getJdbcDataSource
	 * @model opposite="jdbcDataSource" required="true" transient="false"
	 * @generated
	 */
	MBeanServer getParent();

	/**
	 * Sets the value of the '{@link cn.edu.pku.sei.ra.wrapping.JOnAS.JDBCDataSource#getParent <em>Parent</em>}' container reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Parent</em>' container reference.
	 * @see #getParent()
	 * @generated
	 */
	void setParent(MBeanServer value);

} // JDBCDataSource
